package br.com.sis.rh.facade;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import br.com.sis.rh.dao.CandidatoDAO;
import br.com.sis.rh.dao.GraduacaoProfissionalDAO;
import br.com.sis.rh.entity.Candidato;
import br.com.sis.rh.entity.GraduacaoProfissional;

@Service
@Transactional
public class GraduacaoProfissionalFacadeImpl extends GenericFacadeImpl<GraduacaoProfissional, GraduacaoProfissionalDAO> implements GraduacaoProfissionalFacade {
	
	public GraduacaoProfissionalFacadeImpl() {
		super(GraduacaoProfissionalDAO.class);
	}

	@Autowired
	private CandidatoDAO candidatoDAO;
	
	@Autowired
	private GraduacaoProfissionalDAO graduacaoProfissionalDAO;

	@Override
	public void excluir(GraduacaoProfissional objeto) {
		GraduacaoProfissional graduacao = graduacaoProfissionalDAO.recuperarObjetoPorID(objeto);
		Candidato candidato = candidatoDAO.recuperarObjetoPorID(graduacao.getCandidato());
		
		candidato.getGraduacaoProfissional().remove(graduacao);
		
		candidatoDAO.alterar(candidato);
		
	}
}
